Conventional computer data streams are usually accessed randomly. In such a file system, a user generally moves from place to place in the file without requiring continuous playback of the entire file. In addition to not being presented all at one time, typical data files are relatively small.
A different type of data is continuous media data. Continuous media data files are used to store and deliver data such as movies or music titles. For continuous media data files, the data stream is delivered in order, rather than in a random fashion chosen by the user. In addition, the data files are typically very long. A karaoke or music video title, for example, is approximately four minutes long and about 40 megabytes (MB) in size.
Typical computer systems store data in blocks. Each block has a disk block size. The disk block size is the smallest amount of information that the computer system can access. The location of each block on the disk is marked by a pointer. To access a file, the pointer is moved to each block in the correct order.
When conventional computer systems store a data file on disk, the locations of the block or blocks holding the data are typically chosen randomly. When reading a file, the disk pointer may have to move to a new, randomly chosen location for each block of data. In order to move the disk pointer to a new block, conventional systems perform a seek operation. The seek operation determines the location of the new block and moves the pointer to the new block's location on the disk. The system can then read the data in the new block and deliver it to the user.
Conventional systems using small computer system interface ("SCSI") buses and disks often deliver data from the SCSI disk over a SCSI bus. In order to deliver a stored data file, conventional systems using SCSI disks and buses perform several operations. The system reads the command from the SCSI bus, disconnects the SCSI disk from the SCSI bus, seeks the appropriate blocks on the SCSI disk, reconnects to the SCSI bus, then reads and transmits the data over the SCSI bus. Typical fast SCSI buses can transmit data at a rate of approximately ten to forty megabytes (MB) per second. However, typical fast SCSI disks are capable of delivering accessed data at a rate of only five megabytes (MB) per second. Thus, conventional SCSI disks do not utilize the full capacity of typical SCSI buses when transmitting data at the disks' maximum rate.
Continuous media computer systems are employed to provide real time delivery of lengthy continuous media data files. A single computer using conventional architecture may be capable of playing a single continuous media stream for a single user. However, one computer may not be capable of providing real-time delivery of continuous media streams for many users at one time. In general, conventional computer systems may be too slow to access and deliver the blocks comprising the continuous media data file in real time. This difficulty is partially due to the rate at which conventional systems can deliver the data.
Accordingly, what is needed is a system and method for faster delivery of continuous media data files, particularly for multiple users. The present invention addresses such a need.